package com.diaohw.module.metadata.obj.convert;

import com.diaohw.module.metadata.obj.dto.MetaDataDTO;
import com.diaohw.module.metadata.obj.entity.MetaDataDO;
import com.diaohw.module.metadata.obj.vo.MetaDataVO;
import org.mapstruct.InheritConfiguration;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * <p>
 * 元数据属性值 类型转换
 * </p>
 *
 * @author D-Hw
 * @since 2025-04-08
 */
@Mapper
public interface MetaDataConvert {

    MetaDataConvert INSTANCE = Mappers.getMapper(MetaDataConvert.class);

    /**
     * dto to entity
     */
    @InheritConfiguration
    MetaDataDO dtoToEntity(MetaDataDTO dto);

    /**
     * entity to dto
     */
    @InheritConfiguration
    MetaDataDTO entityToDto(MetaDataDO entity);

    /**
     * entity to dto
     */
    @InheritConfiguration
    MetaDataVO entityToVo(MetaDataDO entity);

    /**
     * entity to dto
     */
    @InheritConfiguration
    List<MetaDataVO> entityToVo(List<MetaDataDO> list);


}

